#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>

using namespace std;

typedef pair<int, int> PII;

int main(){
    int n, m, t = 0;
    set<PII> s;
    cin >> n >> m;
    s.insert(PII(0, t++));
    for(int i = 0; i < n; i++){
        vector<int> tmp;
        for(auto x: s){
            tmp.emplace_back(x.first);
        }
        s.clear();
        for(int j = 0, a; j < m; j++){
            cin >> a;
            for(auto x : tmp){
                if(s.size() < m || s.begin()->first < x - a){
                    s.insert(PII(x - a, t++));
                }
                if(s.size() > m) s.erase(s.begin());
            }
        }
    }
    int flag = 0;
    for(auto iter = s.rbegin();iter != s.rend(); iter++){
        if(flag) cout << " ";
        cout << -iter->first;
        flag = 1;
    }
    cout << endl;
    return 0;
}